<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>

        // 1. Promise 实例对象回调的详解
        function fn() {
            // 1.1 返回 Promise 的实例
            return new Promise((resolve, reject) => {
                // 1.2 resolve 代表成功的回调，reject 代表失败的回调
                // resolve();
                // resolve(100);

                // reject();
                // reject('网络错误！');
                reject(new Error('网络不稳定！'))
            })
        }

        // 2. 返回的 Promise 实例叫做 p1
        const p1 = fn();

        // 2.1 使用 p1 的实例方法
        // 参数1： 成功的回调函数体
        // 参数2： 失败的回调函数体
        p1.then(
            // resolve 执行这个，会传参
            data => {
                console.log('成功了，非常好. => ', data);
            },
            // reject  执行这个，会传入错误信息
            reason => {
                console.log('sorry, 失败了. => ', reason.message);
            }
        )



    </script>
</body>

</html>